"""
BreakerStrategy.py

Author: Zach Epolito
Date: 9-20-08

$Id: BreakerStrategy.py 324 2008-10-17 02:18:09Z malerba89 $
"""

class BreakerStrategy(object):
    """abstract class - do not instantiate.
       The context class uses this to call the concrete strategies
    """
    
    """returns a BreakerMove object """
    def strategy(self, contFunctor, GUI, waitTime):
        raise NotImplementedError('method not implemented')

    """handle an update from an observable"""
    def handleUpdate(self, subject, param):
        pass

    """default do nothing. subclasses override if they want to handle this"""
    def handleCommandExecuted(self, cmd):
        pass
